package com.hp.modules.sys.service;

import com.hp.common.base.CommonPage;
import com.hp.common.scanner.model.DictModel;
import com.hp.modules.sys.dto.SysDictKeyParam;
import com.hp.modules.sys.dto.SysDictPageParam;
import com.hp.modules.sys.dto.SysDictParam;
import com.hp.modules.sys.entity.SysDict;

import java.util.List;

/**
 * 业务层
 * 字典
 */
public interface SysDictService {
    /**
     * 添加字典
     * @param param
     * @return
     */
    public int save(SysDictParam param);

    /**
     * 更新字典
     * @param param
     * @return
     */
    public int update(SysDictParam param);

    /**
     * 删除字典
     * @param ids
     * @return
     */
    public int remove(List<Long> ids);

    /**
     * 查询字典
     * @param id
     * @return
     */
    public SysDict get(Long id);

    /**
     * 分页查询字典
     * @param param
     * @return
     */
    public CommonPage<SysDict> list(SysDictPageParam param);

    /**
     * 通过字典唯一编码查询
     * @param param
     * @return
     */
    public DictModel getByDictKey(SysDictKeyParam param);

    /**
     * 获取所有字典枚举
     * @return
     */
    public List<DictModel> listAllEnum();
}
